
// 字典类
class Dict{
    id : number
    type : string           // 字典类型
    value : string          // 字典项值
    name : string           // 字典项名称
    enable : boolean
}

// 配置类
class Config{
    id : number
    keyword : string        // 关键字
    description : string    // 描述
    enable : boolean        
}


// 地区信息类
class Area{
    id : number
    pid : number            // 父级地区id
    name : string           // 地区名称
}

// 菜单项
class Menu{
    id : number
    pid : number            // 父菜单id
    name : string           // 菜单名称
    link : string           // 菜单链接
    icon : string           // 菜单图标
    enable : boolean        // 是否启用
}

// 功能菜单
class FunctionMenu{
    id : number
    menuId : number         // 菜单id
    name : string           // 功能菜单名称
    value : string          // 功能菜单值(关键字)
    icon : string           // 功能菜单图标
    enable : boolean        // 是否启用
}


// 用户类
class User{
    id : number
    unitId : number         // 所在单位Id
    username : string       // 用户名(唯一)
    realname : string       // 真实姓名
    email : string          // 用户邮箱
    enable : boolean        // 是否启用
}

// 单位类
class Unit{
    id : number
    fullName : string           // 单位全称
    shortName : string          // 单位简称
    areaId : number             // 所属地区

    unitType : string           // 单位类型(字典 单位类型类别)
    unitGrading : string        // 单位分级(字典 单位分级类别)
    unitGrade : string          // 单位等级(字典 单位等级类别)
    unitProperty : string       // 单位性质(字典 单位性质类别)
    unitLevel : string          // 单位级别(字典 单位级别类别)

    userPresetNumber : number   // 单位编制人数
    userRealNumber : number     // 实际在岗人数
    zipCode : string            // 邮编
    isIndustry : boolean        // 是否行业
    industry : string           // 所属行业(字典 所属行业类别)

    leaders : string            // 主要领导
    leadersPhone : string       // 主要领导座机
    leadersTel : string         // 主要领导手机

    deputyLeader : string       // 分管领导
    deputyLeaderPhone : string  // 分管领导座机
    deputyLeaderTel : string    // 分管领导手机

    manager : string            // 部门负责人
    managerPhone : string       // 部门负责人座机
    managerTel : string         // 部门负责人手机
    managerQQ : string          // 部门负责人QQ

    staff : string              // 工作人员
    staffPhone : string         // 工作人员座机
    staffTel : string           // 工作人员手机
    staffQQ : string            // 工作人员QQ
    staffEmail : string         // 工作人员邮箱

    departmentName : string     // 职能部门名称

    flowId : number             // 审核流程

    fillTime : number           // 填表时间
    industrySystem : string     // 行业系统(字典 行业系统类别)
    applicationYear : number    // 申创年度
    namedYear : number          // 命名年度
    gps : string                // 地图坐标
    address: string             // 单位地址
    description : string        // 单位简介

    signed : string             // 填表人

    // 以下信息为注册单位时需提交的信息
    user_name : string          // 登录用户名
    user_email : string         // 用户邮箱
    user_realname : string      // 用户真实姓名
    user_password : string      // 用户登录密码
    
}


// 标准目录
class StandardDirectory{
    id : number
    pid : number                // 父级目录
    name : string               // 标准目录名称
    content : string            // 标准内容
    year : number               // 考核年份
    unitProperty : string       // 适用单位(字典 单位性质类别)
    totalScore : number         // 总分值
    weight : number             // 权重
    sequence : number           // 排序
    needAttachment : boolean    // 上传资料
    needParticular : boolean    // 特殊处理
    taskType : string           // 任务类型(字典 任务类型类别)
    criteriaType : string       // 考核模式(字典 考核模式类别)
    remark : string             // 备注
    enable : boolean
}


// 考核标准
class Standard{
    id : number
    pid : number                // 标准目录id
    name : string               // 标准名称
    sequence : number           // 排序
    code : string               // 标准代码
    unitProperty : string       // 适用单位(字典 单位性质类别)
    needAttachment : boolean    // 上传资料
    customForm : boolean        // 自定义表单
    criteriaType : string       // 考核模式(字典 考核模式类别)
    criteriaFunction : string   // 考核策略(字典 考核策略类别)
    taskType : string           // 任务类型(字典 任务类型类别)
    addedScoreType : string     // 附加分类型(字典 附加分类型类别)
    year : number               // 考核年份
    artificial : boolean        // 人工打分
    score_A : number            // 系统打分A
    score_B : number            // 系统打分B
    score_C : number            // 系统打分C
    score_D : number            // 系统打分D

    uploadDescription : string  // 上传说明
    taskCount : number          // 任务次数
    singleScore : number        // 单次得分
    totalScore : number         // 总分值
    startTime : number          // 开始时间
    Time : number               // 结束时间
    functionDescription : string // 策略描述

    remark : string             // 备注
    enable : boolean
}

// 标准应用(单位和考核标准的关联关系)
class StandardLink{
    id : number
    unitType : string           // 单位类型(字典 单位类型类别)
    standardId : number         // 考核标准
}

// 角色权限
class Role{
    id : number
    name : string               // 角色名称
    unitId : number             // 所属地区
    industry : string           // 所属行业(字典 所属行业类别)
    unitType : string           // 单位类型(字典 单位类型类别)
    unitGrade : string          // 单位等级(字典 单位等级类别)
    industrySystem : string     // 行业系统(字典 行业系统类别)
    menus : Array<number>       // 菜单权限(列表)
}